package com.varian.system.service;

import com.varian.mybatis.base.IBaseService;
import com.varian.system.dto.SysDeptDTO;
import com.varian.system.dto.SysDeptListDTO;
import com.varian.system.dto.SysDeptTreeDTO;
import com.varian.system.entity.SysDept;
import com.varian.system.vo.SysDeptDiagramVO;
import com.varian.system.vo.SysDeptTreeVO;
import com.varian.system.vo.SysDeptVO;

import java.util.List;

/**
 * @author ben
 * @since 2024/11/19
 */
public interface ISysDeptService extends IBaseService<SysDept> {

    boolean add(SysDeptDTO dto);

    List<SysDeptTreeVO> tree(SysDeptTreeDTO dto);

    SysDeptVO detail(Long id);

    boolean modify(Long id, SysDeptDTO dto);

    void processDeptAddEvent(Long id);

    void processDeptUpdateEvent(Long id);

    List<SysDeptVO> list(SysDeptListDTO dto);

    SysDeptDiagramVO diagram();

    boolean fixValue();

}
